package com.dms.system.mapper;

import java.util.List;
import com.dms.system.domain.SysArea;
import com.dms.system.domain.dto.SysAreaDTO;

/**
 * 设备所属区域Mapper接口
 * 
 * @author ruoyi
 * @date 2021-03-27
 */
public interface SysAreaMapper 
{
    /**
     * 查询设备所属区域
     * 
     * @param id 设备所属区域ID
     * @return 设备所属区域
     */
    public SysArea selectSysAreaById(Long id);

    /**
     * 查询设备所属区域列表
     * 
     * @param sysArea 设备所属区域
     * @return 设备所属区域集合
     */
    public List<SysArea> selectSysAreaList(SysArea sysArea);

    /**
     * 新增设备所属区域
     * 
     * @param sysArea 设备所属区域
     * @return 结果
     */
    public int insertSysArea(SysArea sysArea);

    /**
     * 修改设备所属区域
     * 
     * @param sysArea 设备所属区域
     * @return 结果
     */
    public int updateSysArea(SysArea sysArea);

    /**
     * 删除设备所属区域
     * 
     * @param id 设备所属区域ID
     * @return 结果
     */
    public int deleteSysAreaById(Long id);

    /**
     * 批量删除设备所属区域
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysAreaByIds(String[] ids);

    /**
     * 查询区域-设备
     * @param sysArea
     * @return SysAreaDTO列表
     * @author xlong_zhu
     * @date 2021/4/9
     */
    public abstract List<SysAreaDTO> selectSysAreaDTOList(SysArea sysArea);

    /**
     * 查询区域-设备
     * @param missionId 如果missionId!=null，表示查询该任务涉及的区域-设备列表
     * @return SysAreaDTO列表
     * @author xlong_zhu
     * @date 2021/4/14
     */
    public abstract List<SysAreaDTO> selectSysAreaDTOListByMissionId(Long missionId);
}